#ifndef SPACECOL2D_H
#define SPACECOL2D_H
//#define ROH 2
#define INTLENGTH 8 // internode length
#define THETAHALF PI/4
//#define R 4
#include "treegen.h"
#include "treegen2d.h"
#include "treerender.h"
#include "renderer.h"
#include "common.h"
#include "artistic.h"
#include "qgl.h"
#include "math.h"
#include "GL/glu.h"
#include "spacecol.h"
//using namespace std;

class TreeGen2D;
class Artistic;
//class Block;

class SpaceCol2D : public SpaceCol
{
public:
    SpaceCol2D();
    ~SpaceCol2D();
    // automatically generate markers in a grid of size BPR*BPR, BPD defined in spaceCol2d.cpp
    //the number of markers are (canvaswidth/BPR)^2/8.0
    virtual void generateMarkers();
    //void createRoot(float3 start, float3 end);
    void initialize(float3 start, float3 end, float theta, float diameter);
    void updateTree(TreeGen2D *newTree);
    virtual void drawMarkers();
    virtual void addMarkers(double x, double y, double z);
    //void populateBud(Bud * b, int depth);
    //void assignMarkers(Bud* b);
    void clearTree();

    Artistic * m_widget;
    //TreeGen2D * m_tree;
    //Renderer * m_renderer;


};

#endif // SPACECOL2D_H
